package de.stefanocke.roo.wicket;

public interface Stereotypes {
	String APPLICATION = "wicket.Application";
	String BASE_PAGE = "wicket.BasePage";
	String HOME_PAGE = "wicket.HomePage";
	String ENTITY_MODEL = "wicket.EntityModel";
	
	String DATA_PROVIDER = "wicket.DataProvider";
	
	String COMPONENT_FACTORY = "wicket.ComponentFactory";
	
	String DECORATOR_FRAGMENT = "wicket.DecoratorFragement";
	
	//A method to override that creates a component
	String CREATE_COMPONENT_METHOD = "wicket.createComponent";

	//Table
	String TABLE = "wicket.Table";

	// Form 
	String FORM = "wicket.Form";
	String FORM_FIELDS = "wicket.FormFields";
	String ENUM_SELECT = "wicket.EnumSelect";
	String SIMPLE_ENTITY_SELECT = "wicket.EntitySelect";
	String DATETIME_FIELD_PANEL = "wicket.DateTimeFieldPanel";
	String LIST_EDITOR = "wicket.ListEditor";
	String ILABELED = "wicket.ILabeled";
	String COMPLEX_FORMFIELD = "wicket.ComplexFormField";
	String SIMPLE_LIST_EDITOR_FIELD = "wicket.SimpleListEditorField";
	String COMPLEX_LIST_EDITOR_FIELD = "wicket.ComplexListEditorField";
	
	//Details
	String DETAILS = "wicket.Details";
	String LIST_VIEW = "wicket.ListView";
	
	//Service Bindings
	String IENTITYBINDINGS ="wicket.IEntityBindings";
	
	//The base class for ServiceBindings that use Roo-based persistence
	String PERSISTENCE_BINDINGS ="wicket.PersistenceBindings";
	
	// Domain Model Extensions

	String ENTITY_IDENTIFIABLE = "entity.Identifiable";
	String ENTITY_ID_ACCESSOR = "entity.Identifiable.accessorMethod";
	String ENTITY_VERSIONED = "entity.Versioned";
	String ENTITY_VERSION_ACCESSOR = "entity.Versioned.accessorMethod";
	
	//Utils
	String ANNOTATION_UTILS = "wicket.AnnotationUtils";
	String ANNOTATION_UTILS_GET_ANNOTATIONS = "wicket.AnnotationUtils.getAnnotations";

}
